package ace.module.oauth2.server.sdk.core.callback.feign;

import ace.module.oauth2.server.api.callback.Oauth2AceAuthenticationCallbackApi;
import ace.module.oauth2.server.api.callback.model.input.Oauth2AceAuthenticationCallbackInput;
import ace.module.oauth2.server.api.model.dto.ext.Oauth2AceAuthResultDto;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * oauth2外部回调认证.
 *
 * @author caspar
 */
public interface Oauth2AceAuthenticationCallbackFeign extends Oauth2AceAuthenticationCallbackApi {

  @Operation(summary = "oauth2外部回调认证")
  @PostMapping("/authentication")
  Oauth2AceAuthResultDto authentication(@Valid @NotNull @RequestBody Oauth2AceAuthenticationCallbackInput input);
}
